﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Futaba.SBus.Channels
{
	/// <summary>
	/// Implementors can process channel data from the S.BUS stream
	/// </summary>
	public interface IChannelParser : ISbusParser<Channel>
	{

		/// <summary>
		/// The receiver's current state
		/// </summary>
		/// <remarks>
		/// This state information is usually only available when reading the data-stream on the model's RX
		/// </remarks>
		ReceiverStatusType ReceiverState { get; set; }

		/// <summary>
		/// Raised when the receiver's <see cref="ReceiverState">state</see> has changed
		/// </summary>
		/// <seealso cref="ReceiverState"/>
		event EventHandler ReceiverStateChanged;

	}
}
